/*
 * CheckoutService.h
 *
 *  Created on: Mar 24, 2010
 *      Author: mike
 */

//*************************************************************************
// File Name: CheckoutService.h
// Definition of CheckoutService class - a class that reports how much
// a member owes to the checkout and processes them out. It also takes
// items on sale into account.
// "Group 3"
// CS 1C
// March 25, 2010
// Group Project: SuperWarehouse
// Due: March 25, 2010
// - KZ's comment
//*************************************************************************

#ifndef CHECKOUTSERVICE_H_
#define CHECKOUTSERVICE_H_

#include "Member.h"
#include "MemberList.h"
#include "MemberManager.h"
#include "GenericList.h"
#include "Transaction.h"
#include "TransactionList.h"
#include "SaleItemList.h"
#include "functions.h"
#include "ReportingService.h"
#include <iostream>
#include <fstream>

using namespace std;

class CheckoutService {
public:
	CheckoutService(MemberManager *m);
	virtual ~CheckoutService();

	bool processDailySalesFromFile(string fileName);

private:
	MemberManager *memberManager;

	void processTransactions(TransactionList *transactions);
};

#endif /* CHECKOUTSERVICE_H_ */
